/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers;

import domain.Entity.EntityTrabajador;
import domain.Entity.EntityUsuario;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import managers.TareaManager;
import managers.UsuarioManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;

/**
 *
 * @author jorge
 */
public class borrarTrabajadorController implements Controller{
    
    UsuarioManager um = UsuarioManager.getInstance();
    TareaManager tm = TareaManager.getInstance();
    
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        ModelAndView mav = new ModelAndView();
        HttpSession session = request.getSession();
        EntityUsuario eu = (EntityUsuario) session.getAttribute("usuario");
        if(eu == null){
            mav.setView(new RedirectView("login.htm"));
            return mav;
        }else{
        long dni =  Integer.parseInt(request.getParameter("dniTrabajador"));
        EntityTrabajador etr = um.borrarTrabajador(dni);
        
        //enviarmensaje(etr.getEmail());
        mav.setView(new RedirectView("mostrarTrabajadores.htm"));
        return mav;
        }
    }
    
     private void enviarmensaje(String email) throws MessagingException {
        Properties props = new Properties();

        // Nombre del host de correo, es smtp.gmail.com
        props.setProperty("mail.smtp.host", "smtp.gmail.com");

        // TLS si está disponible
        props.setProperty("mail.smtp.starttls.enable", "true");

        // Puerto de gmail para envio de correos
        props.setProperty("mail.smtp.port","587");

        // Nombre del usuario
        props.setProperty("mail.smtp.user", "ejemplo@gmail.com");

        // Si requiere o no usuario y password para conectarse.
        props.setProperty("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);
        
        // Para obtener un log de salida más extenso
        session.setDebug(true);
        
        MimeMessage message = new MimeMessage(session);

        // Quien envia el correo
        message.setFrom(new InternetAddress("jorgeabaron87@gmail.com"));

        // A quien va dirigido
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(email));

        message.setSubject("Baja Trabajador");
        message.setText("Ha sido dado de baja como trabajador en los proyetcos que estabas realizando" );
        
        Transport t = session.getTransport("smtp");

        // Aqui usuario y password de gmail
        t.connect("jorgeabaron87@gmail.com","kingbaron");
        t.sendMessage(message,message.getAllRecipients());
        t.close();


    }
}
